// pages/index/user.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatarUrl: '/pages/index/icons/我的.png', // 默认头像
    userName: '用户',
    isLoggedIn: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    const app = getApp();
    // 检查用户登录状态
    const isLoggedIn = wx.getStorageSync('isLoggedIn');
    const userInfo = wx.getStorageSync('userInfo');
    
    // 更新登录状态
    this.setData({
      isLoggedIn: isLoggedIn || false,
      userName: userInfo ? userInfo.nickName || '用户' : '未登录用户'
    });
    
    // 头像显示逻辑：未登录状态显示默认头像，登录状态才读取用户自定义头像
    if (isLoggedIn) {
      // 登录状态下，尝试读取用户自定义头像
      const savedAvatar = wx.getStorageSync('userAvatar');
      if (savedAvatar) {
        this.setData({
          avatarUrl: savedAvatar
        });
      } else {
        // 如果没有自定义头像，使用默认头像
        this.setData({
          avatarUrl: '/pages/index/icons/我的.png'
        });
      }
    } else {
      // 未登录状态下，始终显示默认头像
      this.setData({
        avatarUrl: '/pages/index/icons/我的.png'
      });
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 选择头像
   */
  chooseAvatar() {
    const that = this;
    wx.chooseImage({
      count: 1,
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        // 临时文件路径
        const tempFilePath = res.tempFilePaths[0];
        
        // 上传头像
        that.uploadAvatar(tempFilePath);
      },
      fail(err) {
        console.log('选择图片失败', err);
        wx.showToast({
          title: '选择图片失败',
          icon: 'none'
        });
      }
    });
  },

  /**
   * 上传头像到服务器（模拟）
   */
  uploadAvatar(tempFilePath) {
    const that = this;
    
    wx.showLoading({
      title: '上传中...'
    });
    
    try {
      // 获取当前登录的用户名
      const userInfo = wx.getStorageSync('userInfo');
      if (userInfo && userInfo.username) {
        // 获取用户列表
        const users = this.getUsers();
        
        // 查找当前用户
        const currentUserIndex = users.findIndex(u => u.username === userInfo.username);
        
        if (currentUserIndex !== -1) {
          // 更新用户头像信息
          users[currentUserIndex].avatar = tempFilePath;
          
          // 保存更新后的用户列表
          this.saveUsers(users);
        }
      }
      
      // 同时更新全局头像存储
      wx.setStorageSync('userAvatar', tempFilePath);
      
      // 更新页面数据
      that.setData({
        avatarUrl: tempFilePath
      });
      
      wx.hideLoading();
      wx.showToast({
        title: '头像更新成功',
        icon: 'success'
      });
    } catch (error) {
      wx.hideLoading();
      console.error('保存头像失败:', error);
      wx.showToast({
        title: '保存头像失败',
        icon: 'none'
      });
    }
  },
  
  /**
   * 获取用户列表
   */
  getUsers() {
    try {
      const storedUsers = wx.getStorageSync('users');
      return storedUsers || [{ username: "admin", nickname: "管理员", password: "123456" }];
    } catch (error) {
      console.error('获取用户列表失败:', error);
      return [];
    }
  },
  
  /**
   * 保存用户列表
   */
  saveUsers(users) {
    try {
      wx.setStorageSync('users', users);
    } catch (error) {
      console.error('保存用户列表失败:', error);
    }
  },

  /**
   * 跳转到登录页面
   */
  login() {
    wx.navigateTo({
      url: '/pages/index/auth?tab=login'
    });
  },
  
  /**
   * 跳转到注册页面
   */
  register() {
    wx.navigateTo({
      url: '/pages/index/auth?tab=register'
    });
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})